package br.com.bb.cslsp.modelo.usuario;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Transient;

import org.hibernate.annotations.NaturalId;

@Entity
@Table(name = "usuario", schema = "apps")
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class Usuario implements Serializable {

	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private Long id;

	@NaturalId
	@Column(length = 8, nullable = false)
	private String chave;

	@Column(length = 50, nullable = false)
	private String nome;

	@Column(length = 4, nullable = false)
	private int prefixo;

	@Column(length = 2, nullable = false)
	private int sb;

	private String nomeReduzido;

	@Column(length = 4, nullable = false)
	private int funcao;

	private String ip;
	private int grupamento;
	private int instituicao;
	private int pilar;
	private int rf;

	@Column(length = 4)
	private int prefixoSuper;

	@Column(length = 4)
	private int prefixoRegional;

	private int tipoDependencia;

	@Column(length = 2)
	private String uf;

	private String imagem;

	public String getChave() {
		return chave;
	}

	public String getNome() {
		return nome;
	}

	public int getPrefixo() {
		return prefixo;
	}

	public void setChave(String chave) {
		this.chave = chave;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public void setPrefixo(int prefixo) {
		this.prefixo = prefixo;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getImagem() {
		return imagem;
	}

	public void setImagem(String imagem) {
		this.imagem = imagem;
	}

	public int getSb() {
		return sb;
	}

	public void setSb(int sb) {
		this.sb = sb;
	}

	public String getNomeReduzido() {
		return nomeReduzido;
	}

	public void setNomeReduzido(String nomeReduzido) {
		this.nomeReduzido = nomeReduzido;
	}

	public int getFuncao() {
		return funcao;
	}

	public void setFuncao(int funcao) {
		this.funcao = funcao;
	}

	public String getIp() {
		return ip;
	}

	public void setIp(String ip) {
		this.ip = ip;
	}

	public int getGrupamento() {
		return grupamento;
	}

	public void setGrupamento(int grupamento) {
		this.grupamento = grupamento;
	}

	public int getInstituicao() {
		return instituicao;
	}

	public void setInstituicao(int instituicao) {
		this.instituicao = instituicao;
	}

	public int getPilar() {
		return pilar;
	}

	public void setPilar(int pilar) {
		this.pilar = pilar;
	}

	public int getRf() {
		return rf;
	}

	public void setRf(int rf) {
		this.rf = rf;
	}

	public int getPrefixoSuper() {
		return prefixoSuper;
	}

	public void setPrefixoSuper(int prefixoSuper) {
		this.prefixoSuper = prefixoSuper;
	}

	public int getPrefixoRegional() {
		return prefixoRegional;
	}

	public void setPrefixoRegional(int prefixoRegional) {
		this.prefixoRegional = prefixoRegional;
	}

	public int getTipoDependencia() {
		return tipoDependencia;
	}

	public void setTipoDependencia(int tipoDependencia) {
		this.tipoDependencia = tipoDependencia;
	}

	public String getUf() {
		return uf;
	}

	public void setUf(String uf) {
		this.uf = uf;
	}

}
